#ifndef PLANE_H
#define PLANE_H

#include "point.h"
#include "vector.h"

class Plane
{
public:
    Plane(const Point &p, const Vector &normal);
    Plane(const Point &p1, const Point &p2, const Point &p3);
    Plane(const Plane &p);

    Plane& operator=(const Plane &p);
    const Point& p() const;
    const Vector& normal() const;
    double a() const;
    double b() const;
    double c() const;
    double d() const;

private:
    Point p_;
    Vector normal_;
};

#endif // PLANE_H
